package sf.database.support;

public enum DBMS {
    oracle(DBType.RDBMS, 1),
    mysql(DBType.RDBMS, 2),
    sqlserver(DBType.RDBMS, 3),
    postgresql(DBType.RDBMS, 4),
    db2(DBType.RDBMS, 5),
    sqlite(DBType.RDBMS, 6),
    access(DBType.RDBMS, 7),
    mariadb(DBType.RDBMS, 8),
    derby(DBType.RDBMS, 9),
    hsqldb(DBType.RDBMS, 10),
    h2(DBType.RDBMS, 11),
    cubrid(DBType.RDBMS, 12),
    firebird(DBType.RDBMS, 13),
    gbase(DBType.RDBMS, 14),
    /**
     * nosql
     */
    mongodb(DBType.NOSQL, 200),
    clickhouse(DBType.NOSQL, 201),
    /**
     * 默认数据库
     */
    defaultDB(DBType.RDBMS, 0);

    /**
     * 数据库类型
     */
    private DBType dbType;
    /**
     * 编号
     */
    private int number;

    DBMS(DBType dbType) {
        this.dbType = dbType;
    }

    DBMS(DBType dbType, int number) {
        this.dbType = dbType;
        this.number = number;
    }

    public DBType getDbType() {
        return dbType;
    }

    public int getNumber() {
        return number;
    }
}